package org.scboy.common.gen.core;

import java.io.IOException;
import java.util.Map;

import org.scboy.common.gen.utils.TemplateUtil;

import cn.hutool.log.Log;
import cn.hutool.log.LogFactory;

public class Gen {
	
	Log log=LogFactory.get();
	
	/**
	 * 文件生成
	 * @param filePath 文件路径
	 * @param suffe 文件尾部补充
	 * @param pk 包路径
	 * @param objName 项目名称
	 * @param tpl 模板文件
	 * @param entity 表实体类
	 */
	public Gen(String tpl,Map<String, Object> data){
		this.tpl=tpl;
		this.data=data;
		try {
			this.gen();
		} catch (Exception e) {
			log.error(e);
		}
	}
	
	private Map<String, Object> data;
	
	//模板
	private String tpl;
	
	/**
	 * 生成代码
	 * @throws IOException
	 */
	private void gen() throws Exception{
		log.info("——>开始生成文件:"+data.get("path"));
		log.info("=文件模板："+tpl);
		//解析模板
		log.info("=开始解析模板...");
		String context=TemplateUtil.render(tpl, data);
		log.info("=解析完成");
		log.info("=文件名称："+data.get("fileName"));
		log.info("=文件路径："+data.get("path"));
		log.info("-----------------------文件内容---------------------");
		log.info(context);
		log.info("--------------------------------------------------");
		//创建文件
		log.info("=开始创建文件...");
		TemplateUtil.createFile(data.get("path").toString(),data.get("fileName").toString(), context);
		log.info("——>创建文件完成。");
	}
	
}
